@秒灵儿
2年前 提问
1个回答
安全微服务服务容错有哪些常见的集群容错策略
齐士忠
2年前
安全微服务服务容错有以下常见的集群容错策略:
失效转移(Failover)就是当发生服务调用异常时,重新在集群中查找下一个可用的服务提供者。为了防止无限重试,通常对失败重试最大次数进行限制。
Failback可以理解为失败通知,当服务调用失败直接将远程调用异常通知给消费者,由消费者捕获异常进行后续处理。
失败安全(Failsafe)策略中,当获取服务调用异常时,直接忽略。通常将异常写入审计日志等媒介,确保后续可以根据日志记录找到引起异常的原因并解决。该策略可以理解为一种简单的熔断机制(Circuit Breaker),为了调用链路的完整性,在非关键环节中允许出现错误而不中断整个调用链路。
快速失败(Failfast)策略在获取服务调用异常时,立即报错。显然,Failfast已经彻底放弃了重试机制,等同于没有容错。在特定场景中,可以使用该策略确保非核心业务服务只调用一次,为重要的核心服务节约宝贵时间。
使用分支机制(Forking)时会并行调用多个服务器,只要一个成功即返回;通常用于实时性要求较高的读操作,但需要浪费更多服务资源。
广播机制(Broadcast)就是逐个调用所有提供者,任意一台报错则报错。通常用于通知所有提供者更新缓存或日志等本地资源信息的业务场景,而不是简单的远程调用。